home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 34.zip
/
BS1 part 34
/
GFA basic training.adf
/
Sound
/
DIGISPIELEN_4KANAL.LST
< prev
next >
Wrap
File List
|
1989-06-01
|
1KB
|
63 lines
' Laden und Wiedergabe von vier digitalen Schwingungen
@init
@lesen
@einschalten
' Warte auf Maustaste
REPEAT
UNTIL MOUSEK=1
' Ruhe!
@ausschalten
END
'
PROCEDURE init
DIM sample$(3)
DIM lÄnge&(3)
DIM speicheradr%(3)
DIM frei%(3)
RETURN
PROCEDURE lesen
FOR i|=0 TO 3
FILESELECT "Sample laden","Laden",":",sample$(i|)
IF sample$(i|)="" OR RIGHT$(sample$(i|))=":"
PRINT "Kein Sample laden ?!?"
END
ENDIF
OPEN "I",#1,sample$(i|)
lÄnge&(i|)=LOF(#1)
CLOSE #1
IF SHR(lÄnge&(i|),1)>65535
PRINT "Sampledatei zu lang !!"
END
ENDIF
speicheradr%(i|)=MALLOC(lÄnge&(i|),&H2)
IF speicheradr%(i|)=0
PRINT "FATAL - Speicher kann nicht reserviert werden!"
END
ENDIF
PRINT "Name: ";sample$(i|)
PRINT "Größe: ";lÄnge&(i|)
PRINT "Adresse:";HEX$(speicheradr%(i|))
BLOAD sample$(i|),speicheradr%(i|)
NEXT i|
RETURN
PROCEDURE einschalten
' Wiedergabe auf allen Kanälen
DPOKE &HDFF096,15 ! Alle Kanäle stoppen
FOR i|=0 TO 3
LONG{(&HDFF0A0+&H10*i|)}=speicheradr%(i|)
DPOKE (&HDFF0A4+&H10*i|),INT(lÄnge&(i|)/2)
DPOKE (&HDFF0A6+&H10*i|),100
DPOKE (&HDFF0A8+&H10*i|),64
NEXT i|
DPOKE &HDFF096,&H820F ! Alle Kanäle ein
RETURN
PROCEDURE ausschalten
' Wiedergabe aus
DPOKE &HDFF096,15
FOR i|=0 TO 3
frei%(i|)=MFREE(speicheradr%(i|),lÄnge&(i|))
PRINT sample$(i|)
PRINT "Frei:";frei%(i|)
NEXT i|
RETURN